img_a.png

Lv.1 -

ν•˜μƒ€λ“œ 수 πŸ‘³πŸΎβ€β™‚οΈ

문제 μ„€λͺ… πŸŽ™

μ–‘μ˜ μ •μˆ˜ xκ°€ ν•˜μƒ€λ“œ 수이렀면 x의 자릿수의 ν•©μœΌλ‘œ xκ°€ λ‚˜λˆ„μ–΄μ Έμ•Ό ν•©λ‹ˆλ‹€ 예λ₯Ό λ“€μ–΄ 18의 자릿수 합은 1+8=9이고, 18은 9둜 λ‚˜λˆ„μ–΄ λ–¨μ–΄μ§€λ―€λ‘œ 18은 ν•˜μƒ€λ“œ μˆ˜μž…λ‹ˆλ‹€ μžμ—°μˆ˜ xλ₯Ό μž…λ ₯λ°›μ•„ xκ°€ ν•˜μƒ€λ“œ μˆ˜μΈμ§€ μ•„λ‹Œμ§€ κ²€μ‚¬ν•˜λŠ” ν•¨μˆ˜, solution을 μ™„μ„±ν•΄μ£Όμ„Έμš”

μ œν•œ 쑰건 πŸ”“

  • xλŠ” 1 이상, 10000 μ΄ν•˜μΈ μ •μˆ˜μž…λ‹ˆλ‹€

μž…μΆœλ ₯ 예

arr
10
12
11
13
return
true
true
false
false
- 10의 λͺ¨λ“  자릿수의 합은 1μž…λ‹ˆλ‹€. 10은 1둜 λ‚˜λˆ„μ–΄ λ–¨μ–΄μ§€λ―€λ‘œ 10은 ν•˜μƒ€λ“œ μˆ˜μž…λ‹ˆλ‹€.
- 12의 λͺ¨λ“  자릿수의 합은 3μž…λ‹ˆλ‹€. 12λŠ” 3으둜 λ‚˜λˆ„μ–΄ λ–¨μ–΄μ§€λ―€λ‘œ 12λŠ” ν•˜μƒ€λ“œ μˆ˜μž…λ‹ˆλ‹€.
- 11의 λͺ¨λ“  자릿수의 합은 2μž…λ‹ˆλ‹€. 11은 2둜 λ‚˜λˆ„μ–΄ λ–¨μ–΄μ§€μ§€ μ•ŠμœΌλ―€λ‘œ 11λŠ” ν•˜μƒ€λ“œ μˆ˜κ°€ μ•„λ‹™λ‹ˆλ‹€.
- 13의 λͺ¨λ“  자릿수의 합은 4μž…λ‹ˆλ‹€. 13은 4둜 λ‚˜λˆ„μ–΄ λ–¨μ–΄μ§€μ§€ μ•ŠμœΌλ―€λ‘œ 13은 ν•˜μƒ€λ“œ μˆ˜κ°€ μ•„λ‹™λ‹ˆλ‹€.

문제링크

https://programmers.co.kr/learn/courses/30/lessons/12947

문제 풀이 πŸ€”

function solution(x) { // x = 18
    var sum = 0;
    var arr = String(x).split(""); // [1,8]
    
    for(let i=0; i<arr.length; i++){
        sum += Number(arr[i]) // 1+8
    }
    return (x % sum == 0) ? true:false;
}

문제 해석 πŸ₯Έ

λ¨Όμ € xλ₯Ό split()을 μ‚¬μš©ν•΄ 자릿수둜 λ‚˜λˆ„μ–΄μ€€λ‹€
for문을 돌렀 λ‚˜λˆˆ μžλ¦Ώμˆ˜λ“€μ„ 더해쀀닀
x와 λ”ν•œ 값을 λ‚˜λˆ„μ–΄ λ°˜ν™˜λ˜λŠ” λ‚˜λ¨Έμ§€λ₯Ό νŒλ³„ν•΄ 쑰건에 따라 좜λ ₯ν•œλ‹€

1. 자릿수의 합을 κ΅¬ν•œλ‹€. (문자둜 μ „ν™˜ β†’ ν•œκΈ€μžμ”© 뢄리 β†’ 자릿수의 ν•©)
2. 자릿수의 ν•©μœΌλ‘œ μ£Όμ–΄μ§„ μˆ˜κ°€ λ‚˜λˆ„μ–΄ λ–¨μ–΄μ§€λŠ”μ§€ ν™•μΈν•œλ‹€.
3. ν•˜μƒ€λ“œ μˆ˜κ°€ λ§žλŠ”μ§€ κ²°κ³Όλ₯Ό 좜λ ₯ν•œλ‹€. (λ‚˜λˆ„μ–΄ λ–¨μ–΄μ§€λ©΄ ν•˜μƒ€λ“œ μˆ˜μ΄λ‹€.)